The Hang Seng Index is a freefloat-adjusted market capitalization-weighted stock market index in Hong Kong and is the main indicator of the overall market performance in Hong Kong. It is used to record and monitor daily changes of the largest companies of Hong Kong stock market. In this project, I will analyze the financial volatility of daily index return using the data from recent five years information of Hang Seng stock market index. This paper will perform two models to the data, which is GARCH model, asymmetric stochastic volatility model with fixed financial leverage.
The paper has the following structure. Section II introduces our dataset and its features. Section III and Section IV gives our implementation of GARCH model and asymmetric stochastic volatility models. We analyze the result and compare the performances in Section V. In Section VI, we discuss possible futere work.
Our dataset is provided by Yahoo Finance. It include the Hang Seng stock market index daily closed prices from Jan. 1st, 2011 to Jan. 1st, 2016. The following figures show us the plot of daily closed price and daily return. The daily return is computed by the formula: \[Y_n = log(S_n) - log(S_{n-1}) \]
where \(S_n\) is the index price.
We can find that the return of index is sightly mean 0. In this case, we have a good reason to analyze the volality of the daily index return.
The GARCH(p,q) model has the form \[ Y_n = \epsilon_n \sqrt{V_n}, \\ V_n = \alpha_0 + \sum_{j=1}^p \alpha_j Y_{n-j}^2 + \sum_{k=1}^q \beta_k V_{n-k}\\ \] where \(\epsilon_n\) are white noises.
The plot below shows the \(Y_n\) and the auto-correlation of \(Y_n\) and \({Y_n}^2\)
From the plot, we have the reason to believe that there is no significant correlation for \(Y_n\) while strong signal of correlations among \({Y_n}^2\). That indicates that GARCH model should be a good fit for this dataset. We first tabulate some AIC values for a range of different choices of p and q.
| CH1 | CH2 | CH3 | CH4 | CH5 | |
|---|---|---|---|---|---|
| GAR1 | -6.17212 | -6.17045 | -6.16868 | -6.16693 | -6.16521 |
| GAR2 | -6.17576 | -6.17444 | -6.17322 | -6.17146 | -6.17004 |
| GAR3 | -6.17408 | -6.17275 | -6.17219 | -6.17050 | -6.16878 |
| GAR4 | -6.17232 | -6.17099 | -6.17051 | -6.16891 | -6.16721 |
From the AIC table, although all GARCH models have similar AIC value, we select GARCH(1,5) as candidate because it has the smallest AIC value. We first fit a GARCH(1,5) model.
##
## Title:
## GARCH Modelling
##
## Call:
## garchFit(formula = ~garch(1, 5), data = dat$return, trace = F)
##
## Mean and Variance Equation:
## data ~ garch(1, 5)
## <environment: 0x7fd6875f6f18>
## [data = dat$return]
##
## Conditional Distribution:
## norm
##
## Coefficient(s):
## mu omega alpha1 beta1 beta2 beta3
## 2.0937e-04 2.8787e-06 5.6158e-02 9.2202e-01 1.0000e-08 1.0000e-08
## beta4 beta5
## 1.0000e-08 1.0000e-08
##
## Std. Errors:
## based on Hessian
##
## Error Analysis:
## Estimate Std. Error t value Pr(>|t|)
## mu 2.094e-04 2.934e-04 0.714 0.47547
## omega 2.879e-06 1.210e-06 2.379 0.01734 *
## alpha1 5.616e-02 1.711e-02 3.283 0.00103 **
## beta1 9.220e-01 6.662e-01 1.384 0.16636
## beta2 1.000e-08 1.140e+00 0.000 1.00000
## beta3 1.000e-08 8.455e-01 0.000 1.00000
## beta4 1.000e-08 7.369e-01 0.000 1.00000
## beta5 1.000e-08 2.216e-01 0.000 1.00000
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Log Likelihood:
## 3861.255 normalized: 3.089004
##
## Description:
## Fri Apr 29 23:49:38 2016 by user:
##
##
## Standardised Residuals Tests:
## Statistic p-Value
## Jarque-Bera Test R Chi^2 121.2426 0
## Shapiro-Wilk Test R W 0.9844328 2.554798e-10
## Ljung-Box Test R Q(10) 9.391387 0.4954054
## Ljung-Box Test R Q(15) 14.39307 0.4959507
## Ljung-Box Test R Q(20) 17.5547 0.6167165
## Ljung-Box Test R^2 Q(10) 7.825346 0.6458923
## Ljung-Box Test R^2 Q(15) 9.05766 0.8744833
## Ljung-Box Test R^2 Q(20) 11.25511 0.9393365
## LM Arch Test R TR^2 8.001559 0.7850086
##
## Information Criterion Statistics:
## AIC BIC SIC HQIC
## -6.165208 -6.132371 -6.165290 -6.152864
We find that the coefficient of \(\beta_n\) where n>1 is extremely small. Thus the GARCH(1,5) model is similar to GARCH(1,1) model. In this case, we fit the most popular used GARCH(1,1) model to the dataset instead of the GARCH(1,5) model.
##
## Title:
## GARCH Modelling
##
## Call:
## garchFit(formula = ~garch(1, 1), data = dat$return, trace = F)
##
## Mean and Variance Equation:
## data ~ garch(1, 1)
## <environment: 0x7fd687490298>
## [data = dat$return]
##
## Conditional Distribution:
## norm
##
## Coefficient(s):
## mu omega alpha1 beta1
## 2.1141e-04 2.9110e-06 5.6651e-02 9.2135e-01
##
## Std. Errors:
## based on Hessian
##
## Error Analysis:
## Estimate Std. Error t value Pr(>|t|)
## mu 2.114e-04 2.932e-04 0.721 0.47082
## omega 2.911e-06 1.019e-06 2.856 0.00429 **
## alpha1 5.665e-02 1.147e-02 4.939 7.86e-07 ***
## beta1 9.213e-01 1.622e-02 56.799 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Log Likelihood:
## 3861.578 normalized: 3.089262
##
## Description:
## Fri Apr 29 23:49:38 2016 by user:
##
##
## Standardised Residuals Tests:
## Statistic p-Value
## Jarque-Bera Test R Chi^2 119.6534 0
## Shapiro-Wilk Test R W 0.9845526 2.888484e-10
## Ljung-Box Test R Q(10) 9.340836 0.5000912
## Ljung-Box Test R Q(15) 14.31493 0.5017909
## Ljung-Box Test R Q(20) 17.52115 0.6189196
## Ljung-Box Test R^2 Q(10) 7.70822 0.6573133
## Ljung-Box Test R^2 Q(15) 8.938956 0.8806875
## Ljung-Box Test R^2 Q(20) 11.13836 0.9425551
## LM Arch Test R TR^2 7.937428 0.7900009
##
## Information Criterion Statistics:
## AIC BIC SIC HQIC
## -6.172125 -6.155706 -6.172145 -6.165952
The volatility implied by the GARCH(1,1) model is shown above. From the Shapiro-Wilk test, we can conclude that the residuals of GARCH(1,1) model is hardly be said normal.
Then we plot the range of 95% confidence interval(about two sigmas away) of \(Y_n\) value and the estimated volatilities. Here we can conclude that the GARCH(1,1) model fit the data well since all points lie in the 95% confidence interval.
From the figure above, most of points lies on the 95% confidence interval while there are still a little of points stay out of 95% range. Thus we can hardly say that the Gaussian GARCH(1,1) model predicts well for the Hang Seng stock market index.
We start with build a POMP model with fixed financial leverage. The stochastic volatility model with fixed financial leverage have the following state-space representation:
\[Y_n = (\exp{H_n/2}) \epsilon_n\] \[H_n= \mu_h (1-\phi) +\phi H_{n-1} + \beta \times \rho \exp{-H_{n-1}/2} +\sigma_{\omega} \omega_n\]
with \(\beta =Y_{n-1} \sigma \sqrt{1-\phi^2}\) and \(\sigma_{\omega} = \sigma \sqrt{1-\phi^2} \sqrt{1-\rho^2}\) where \(\rho\), \(\sigma\) and \(\phi\) are the parameters after all.
Then we build POMP model. First we plot the diagnostic plot from global search of the likelihood surface using randomized starting values.
The maximal log-likelihood is:
max(L.box[,1])
## [1] 3844.963
If we look at the diagnostic plot, we can conclude that \(\sigma_{\omega}\) and \(\mu_h\) converge obviously. However, we concern about the value of \(\rho\) and \(\phi\) more. We first try to fix the value of \(\rho\) and \(\phi\).
We can find the value of \(\rho\) and \(\phi\) seem more convergent in the new diagnostics plot. Then we calculate the likelihood and see whether fixing the value of \(\sigma_{\omega}\) and \(\mu_h\) matters.
max(L.box[,1])
## [1] 3879.415
We can find that the new maximal log-likelihood is no smaller than the old one. Thus we have a good reason to fix the value of \(\sigma_{\omega}\) and \(\mu_h\).
The diagnostic plot also gives us the approximate value of \(\phi\) to be around 0.95 and \(\rho\) to be around -0.6.In this case, we are quite confident that the \(\rho\) will not be close to zero, which means the Hang Seng stock market index truely exit financial leverage.
The graph below shows the liklihood surface. The black lines are the contours of likelihood and those small circle might be the points where the likelihood is highest. Although those circle distributed seperately on this plot, actually they are rather concentrated on the box [-0.6,-0.2] \(\times\) [0.90,0.98] when we looking from its whole space level.
We can find the fact that the value of \(\phi\) is so much close to 1. If this happens, the \(H_n\) tends to be a random walk. Therefore we next try to analyze whether \(\phi\) can be 1.
We calculate the confidence interval by profile-likelihood: \[ {\ell^\mathrm{profile}_d}(\theta_d) = \max_{\phi\in{\mathbb{R}}^D: \phi_d=\theta_d}{\ell}(\phi)\]
We need to fix the \(\phi\) at first and then we plot the corresponding maximal likelihood for each fixed \(\phi\),then the approximate 95% confidence interval for \(\phi\) is given by \[\{\phi^* : {\ell}({\phi^*}) - {\ell^\mathrm{profile}_d}(\phi)\} < 1.92.\]
We start with the search area for \(\rho\) is [-0.6,-0.2] and that for \(\phi\) to be [0.90,0.98].
The above plot shows no reasonable fact for us to reject that \(\phi\) equals to 1 because 1 is probabily lies in the 95% confidence interval. In order to see more information, we next change the search area for \(\phi\) to be [0.98,0.999].
Hence we can clearly find that the confidence interval of \(\phi\) is far away from 1 indicate the significance of the parameter.
Now we know the maximum likelihood estimates of every parameters in the model. We can simulate the data and compare to our original data to test the performance of the model. The red points in the following graphs are real value while the blue histograms indicate the simulation result. From these graphs, we can find the fact that every red points lie among the histograms, especially the mean value lies right on the peak of the histogram. This means our model simulation simulated every real aspects of the data. Although the three real quantiles look like less jagged than the simulations, we can conclude that the POMP stochastic volatility model using fixed leverage still works well.
In this project, we implemented 2 different time series models on the daily return time series of Hang Seng stock market index.
The daily return series have nice aspects for GARCH model as non-correlation for return and strong correlation for squared return. The GARCH(1,1) can sightly work on training data set although whose residuals cannot be regarded as Gaussian distribution. However, the performance of GARCH(1,1) model on test data set is not satisfying.
Then we fit a POMP stochastic volatility model using fixed leverage. After plugging the state-space formula to the POMP model, we find maximum likelihood estimates of each parameter in the model and there confidence interval. Especially we reject the hypothesis that \(\phi\)=1, which will lead the volatility to random walk process. Finally we simulate the data and compare that to our original data to check how well the model performs. We can eventually conclude that this model fits the original data well.
We still have several pieces of work deserved to do.
Firstly, we discussed the POMP stochastic volatility model with fixed financial leverage. We can go further to analyze the POMP stochastic volatility model with financial leverage which is Fisher transformation of a random walk. The raw diagnostic plot is shown below. From the diagnostic plot, \(\mu_h\) is already converged while other parameters are not converaged which should be adjusted.
Secondly, there still some stochastic volatility models worth being fitted, such as 3/2 model, Henston model etc.
Thirdly, in this paper, we have not performed forecasting in POMP model yet. In the future, we will consider using forecasting methods.
[1]Discrete-Time Stochastic Volatility Models and MCMC-Based Statistical Inference,Nikolaus Hautsch, Yangguoyi Ou, 2008
[2]Bret??, C. 2014. On idiosyncratic stochasticity of financial leverage effects. Statistics & Probability Letters 91:20???26.